package com.ym.b2b.user.service;

import org.springframework.dao.DataAccessException;

import com.ym.b2b.commons.conf.AgentToken;
import com.ym.b2b.commons.exception.BaseException;
import com.ym.b2b.user.sqlbean.EmCUser;
import com.zc.commons.base.Page;
import com.zc.commons.base.Result;

public interface EmCUserService {

    /**
     * 用户登陆
     * 
     * @Title: login
     * @Description: TODO
     * @Param @param emCuser
     * @Param @return
     * @Param @throws BaseException
     * @Return Result
     * @Throws
     */
    public Result login(EmCUser emCuser) throws BaseException;

    public EmCUser searchEmCUser(EmCUser emCuser) throws BaseException;

    public Result update(EmCUser emCuser) throws BaseException;

    Result searchPageEmCUser(EmCUser emcuser, Page<EmCUser> page) throws BaseException;

    public Result updateEmCUser(EmCUser emCuser);

    public Result updateEmCUserBat(EmCUser emCuser);

    public int deleteEmCUser(Long userId);

    public int deleteMultipleEmCUser(String userIdList);

    public Result insertUser(EmCUser emCUser) throws DataAccessException;

    /**
     * 修改密码
     * 
     * @Title: updateUserPassword
     * @Description: TODO
     * @Param @param emCUser
     * @Param @return
     * @Param @throws DataAccessException
     * @Return Result
     * @Throws
     */
    public Result updateUserPassword(EmCUser emCUser) throws BaseException;

    /**
     * 找回密码
     * 
     * @Title: findUserPassword
     * @Description: TODO
     * @Param @param emCUser
     * @Param @return
     * @Param @throws BaseException
     * @Return Result
     * @Throws
     */
    public Result findUserPassword(EmCUser emCUser) throws BaseException;

    public Result cancelAgent(AgentToken agentToken) throws BaseException;

}
